diff --git a/system/database/drivers/mssql/mssql_driver.php b/system/database/drivers/mssql/mssql_driver.php
index 5ac90b4..9a912a3 100644
--- a/system/database/drivers/mssql/mssql_driver.php
+++ b/system/database/drivers/mssql/mssql_driver.php
@@ -390,7 +390,24 @@
 		// Are error numbers supported?
 		return '';
 	}
-	
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Escape Column Name
+	 *
+	 * This function adds backticks around supplied column name
+	 *
+	 * @access	private
+	 * @param	string	the column name
+	 * @return	string
+	 */
+	function _escape_column($column)
+	{
+		// Not necessary with MS SQL so we simply return the value
+		return $column;
+	}
+
 	// --------------------------------------------------------------------
 
 	/**
@@ -405,15 +422,7 @@
 	 */
 	function _escape_table($table)
 	{
-		// I don't believe this is necessary with MS SQL.  Not sure, though. - Rick
-	
-		/*
-		if (strpos($table, '.') !== FALSE)
-		{
-			$table = '"' . str_replace('.', '"."', $table) . '"';
-		}
-		*/
-		
+		// Not necessary with MS SQL so we simply return the value
 		return $table;
 	}	
 	
diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php
index 9d9b651..de372e6 100644
--- a/system/database/drivers/mysql/mysql_driver.php
+++ b/system/database/drivers/mysql/mysql_driver.php
@@ -398,6 +398,22 @@
 	{
 		return mysql_errno($this->conn_id);
 	}
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Escape Column Name
+	 *
+	 * This function adds backticks around supplied column name
+	 *
+	 * @access	private
+	 * @param	string	the column name
+	 * @return	string
+	 */
+	function _escape_column($column)
+	{
+		return '`' .$column. '`';
+	}
 	
 	// --------------------------------------------------------------------
 
diff --git a/system/database/drivers/mysqli/mysqli_driver.php b/system/database/drivers/mysqli/mysqli_driver.php
index cd683df..35a7fc0 100644
--- a/system/database/drivers/mysqli/mysqli_driver.php
+++ b/system/database/drivers/mysqli/mysqli_driver.php
@@ -394,6 +394,22 @@
 	{
 		return mysqli_errno($this->conn_id);
 	}
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Escape Column Name
+	 *
+	 * This function adds backticks around supplied column name
+	 *
+	 * @access	private
+	 * @param	string	the column name
+	 * @return	string
+	 */
+	function _escape_column($column)
+	{
+		return '`' .$column. '`';
+	}
 	
 	// --------------------------------------------------------------------
 
diff --git a/system/database/drivers/oci8/oci8_driver.php b/system/database/drivers/oci8/oci8_driver.php
index 765c3f6..b45b003 100644
--- a/system/database/drivers/oci8/oci8_driver.php
+++ b/system/database/drivers/oci8/oci8_driver.php
@@ -506,6 +506,23 @@
 		$error = ocierror($this->conn_id);
 		return $error['code'];
 	}
+	
+	// --------------------------------------------------------------------
+
+	/**
+	 * Escape Column Name
+	 *
+	 * This function adds backticks around supplied column name
+	 *
+	 * @access	private
+	 * @param	string	the column name
+	 * @return	string
+	 */
+	function _escape_column($column)
+	{
+		// Probably not necessary with Oracle so we simply return the value
+		return $column;
+	}
 
 	// --------------------------------------------------------------------
 
diff --git a/system/database/drivers/odbc/odbc_driver.php b/system/database/drivers/odbc/odbc_driver.php
index f89000d..ed8f81c 100644
--- a/system/database/drivers/odbc/odbc_driver.php
+++ b/system/database/drivers/odbc/odbc_driver.php
@@ -371,7 +371,23 @@
 	{
 		return odbc_error($this->conn_id);
 	}
-	
+	// --------------------------------------------------------------------
+
+	/**
+	 * Escape Column Name
+	 *
+	 * This function adds backticks around supplied column name
+	 *
+	 * @access	private
+	 * @param	string	the column name
+	 * @return	string
+	 */
+	function _escape_column($column)
+	{
+		// Not necessary with ODBC so we simply return the value
+		return $column;
+	}
+
 	// --------------------------------------------------------------------
 
 	/**
@@ -386,9 +402,9 @@
 	 */
 	function _escape_table($table)
 	{
-		// used to add backticks in other db drivers		
+		// Not necessary with ODBC so we simply return the value
 		return $table;
-	}
+	}	
 		
 	// --------------------------------------------------------------------
 
diff --git a/system/database/drivers/postgre/postgre_driver.php b/system/database/drivers/postgre/postgre_driver.php
index 7574ded..3d006d3 100644
--- a/system/database/drivers/postgre/postgre_driver.php
+++ b/system/database/drivers/postgre/postgre_driver.php
@@ -391,7 +391,23 @@
 	{
 		return '';
 	}
-	
+	// --------------------------------------------------------------------
+
+	/**
+	 * Escape Column Name
+	 *
+	 * This function adds backticks around supplied column name
+	 *
+	 * @access	private
+	 * @param	string	the column name
+	 * @return	string
+	 */
+	function _escape_column($column)
+	{
+		// Probably not necessary with Postgres so we simply return the value
+		return $column;
+	}
+
 	// --------------------------------------------------------------------
 
 	/**
diff --git a/system/database/drivers/sqlite/sqlite_driver.php b/system/database/drivers/sqlite/sqlite_driver.php
index 5cac04d..46e0fae 100644
--- a/system/database/drivers/sqlite/sqlite_driver.php
+++ b/system/database/drivers/sqlite/sqlite_driver.php
@@ -387,7 +387,24 @@
 	{
 		return sqlite_last_error($this->conn_id);
 	}
-		
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Escape Column Name
+	 *
+	 * This function adds backticks around supplied column name
+	 *
+	 * @access	private
+	 * @param	string	the column name
+	 * @return	string
+	 */
+	function _escape_column($column)
+	{
+		// Not necessary with SQLite so we simply return the value
+		return $column;
+	}
+			
 	// --------------------------------------------------------------------
 
 	/**
@@ -402,7 +419,6 @@
 	 */
 	function _escape_table($table)
 	{
-
 		// other database drivers use this to add backticks, hence this
 		// function is simply going to return the tablename for sqlite		
 		return $table;
